421c2ad2e464f3b73da7bcc8d395e2f55140c7d4,platform/platform-api/src/com/intellij/ui/CheckBoxList.java,CellRenderer,getListCellRendererComponent,#JList#Object#number#boolean#boolean#,180
Before Change
checkbox.setEnabled(isEnabled());
checkbox.setFont(getFont(checkbox));
checkbox.setFocusPainted(false);
checkbox.setBorderPainted(true);
checkbox.setBorder(isSelected ? mySelectedBorder : myBorder);
adjustRendering(checkbox, isSelected, cellHasFocus);
return checkbox;
After Change
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
JCheckBox checkbox = (JCheckBox)value;
Color textColor = getForeground(isSelected);
Color backgroundColor = getBackground(isSelected);
Font font = getFont();
boolean shouldAdjustColors = !UIUtil.isUnderNimbusLookAndFeel();
if (shouldAdjustColors) {
checkbox.setBackground(backgroundColor);
checkbox.setForeground(textColor);
}
checkbox.setEnabled(isEnabled());
checkbox.setFont(font);
checkbox.setFocusPainted(false);
String auxText = getSecondaryText(index);
JComponent rootComponent;
if (auxText != null) {
JPanel panel = new JPanel(new BorderLayout());
checkbox.setBorderPainted(false);
panel.add(checkbox, BorderLayout.LINE_START);
JLabel infoLabel = new JLabel();
infoLabel.setText(auxText);
infoLabel.setHorizontalAlignment(SwingConstants.RIGHT);
infoLabel.setFont(font);
panel.add(infoLabel, BorderLayout.CENTER);
if (shouldAdjustColors) {
panel.setBackground(backgroundColor);
infoLabel.setForeground(isSelected ? textColor : JBColor.GRAY);
infoLabel.setBackground(backgroundColor);
}
rootComponent = panel;
}
else {
checkbox.setBorderPainted(true);
rootComponent = checkbox;
}